
package middleware.p2p.transaction;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the middleware.p2p.transaction package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _Join_QNAME = new QName("http://transaction.p2p.middleware/", "join");
    private final static QName _OpenTransaction_QNAME = new QName("http://transaction.p2p.middleware/", "openTransaction");
    private final static QName _JoinResponse_QNAME = new QName("http://transaction.p2p.middleware/", "joinResponse");
    private final static QName _OpenTransactionResponse_QNAME = new QName("http://transaction.p2p.middleware/", "openTransactionResponse");
    private final static QName _CloseTransactionResponse_QNAME = new QName("http://transaction.p2p.middleware/", "closeTransactionResponse");
    private final static QName _AbortTransaction_QNAME = new QName("http://transaction.p2p.middleware/", "abortTransaction");
    private final static QName _AbortTransactionResponse_QNAME = new QName("http://transaction.p2p.middleware/", "abortTransactionResponse");
    private final static QName _CloseTransaction_QNAME = new QName("http://transaction.p2p.middleware/", "closeTransaction");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: middleware.p2p.transaction
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link JoinResponse }
     * 
     */
    public JoinResponse createJoinResponse() {
        return new JoinResponse();
    }

    /**
     * Create an instance of {@link OpenTransaction }
     * 
     */
    public OpenTransaction createOpenTransaction() {
        return new OpenTransaction();
    }

    /**
     * Create an instance of {@link CloseTransaction }
     * 
     */
    public CloseTransaction createCloseTransaction() {
        return new CloseTransaction();
    }

    /**
     * Create an instance of {@link AbortTransaction }
     * 
     */
    public AbortTransaction createAbortTransaction() {
        return new AbortTransaction();
    }

    /**
     * Create an instance of {@link Join }
     * 
     */
    public Join createJoin() {
        return new Join();
    }

    /**
     * Create an instance of {@link OpenTransactionResponse }
     * 
     */
    public OpenTransactionResponse createOpenTransactionResponse() {
        return new OpenTransactionResponse();
    }

    /**
     * Create an instance of {@link AbortTransactionResponse }
     * 
     */
    public AbortTransactionResponse createAbortTransactionResponse() {
        return new AbortTransactionResponse();
    }

    /**
     * Create an instance of {@link CloseTransactionResponse }
     * 
     */
    public CloseTransactionResponse createCloseTransactionResponse() {
        return new CloseTransactionResponse();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Join }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "join")
    public JAXBElement<Join> createJoin(Join value) {
        return new JAXBElement<Join>(_Join_QNAME, Join.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link OpenTransaction }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "openTransaction")
    public JAXBElement<OpenTransaction> createOpenTransaction(OpenTransaction value) {
        return new JAXBElement<OpenTransaction>(_OpenTransaction_QNAME, OpenTransaction.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link JoinResponse }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "joinResponse")
    public JAXBElement<JoinResponse> createJoinResponse(JoinResponse value) {
        return new JAXBElement<JoinResponse>(_JoinResponse_QNAME, JoinResponse.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link OpenTransactionResponse }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "openTransactionResponse")
    public JAXBElement<OpenTransactionResponse> createOpenTransactionResponse(OpenTransactionResponse value) {
        return new JAXBElement<OpenTransactionResponse>(_OpenTransactionResponse_QNAME, OpenTransactionResponse.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CloseTransactionResponse }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "closeTransactionResponse")
    public JAXBElement<CloseTransactionResponse> createCloseTransactionResponse(CloseTransactionResponse value) {
        return new JAXBElement<CloseTransactionResponse>(_CloseTransactionResponse_QNAME, CloseTransactionResponse.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbortTransaction }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "abortTransaction")
    public JAXBElement<AbortTransaction> createAbortTransaction(AbortTransaction value) {
        return new JAXBElement<AbortTransaction>(_AbortTransaction_QNAME, AbortTransaction.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbortTransactionResponse }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "abortTransactionResponse")
    public JAXBElement<AbortTransactionResponse> createAbortTransactionResponse(AbortTransactionResponse value) {
        return new JAXBElement<AbortTransactionResponse>(_AbortTransactionResponse_QNAME, AbortTransactionResponse.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CloseTransaction }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://transaction.p2p.middleware/", name = "closeTransaction")
    public JAXBElement<CloseTransaction> createCloseTransaction(CloseTransaction value) {
        return new JAXBElement<CloseTransaction>(_CloseTransaction_QNAME, CloseTransaction.class, null, value);
    }

}
